﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Bdcs.Core.Entity
{
    /// <summary>
    /// gpshis_210620数据模型对象
    /// </summary>
    [Serializable]
    public partial class gpshis_210620Mod
    {
        /// <summary>
        /// 初始化gpshis_210620数据模型对象
        /// </summary>
        public gpshis_210620Mod()
        {
            
        }
        /// <summary>
        /// 初始化gpshis_210620数据模型对象并给在SQL中不能为空的字段赋值
        /// </summary>
        /// <param name="iD">ID</param>
        /// <param name="deviceNo">DeviceNo</param>
        public gpshis_210620Mod(int iD,string deviceNo)
        {
            //给ID字段赋值
            this.ID = iD;
            //给DeviceNo字段赋值
            this.DeviceNo = deviceNo;
        }
        /// <summary>
        /// 初始化gpshis_210620数据模型对象并给所有字段赋值
        /// </summary>
        /// <param name="iD">ID</param>
        /// <param name="deviceNo">DeviceNo</param>
        /// <param name="orient">Orient</param>
        /// <param name="speed">Speed</param>
        /// <param name="upTime">UpTime</param>
        /// <param name="createTime">CreateTime</param>
        /// <param name="rLongiW">RLongiW</param>
        /// <param name="rLatiW">RLatiW</param>
        /// <param name="rLongiC">RLongiC</param>
        /// <param name="rLatiC">RLatiC</param>
        /// <param name="rLongiB">RLongiB</param>
        /// <param name="rLatiB">RLatiB</param>
        /// <param name="alarmFlag">AlarmFlag</param>
        /// <param name="aCCState">ACCState</param>
        /// <param name="gPSState">GPSState</param>
        /// <param name="mileAge">MileAge</param>
        /// <param name="totalMileAge">TotalMileAge</param>
        /// <param name="switchFlag">SwitchFlag</param>
        /// <param name="locMode">LocMode</param>
        /// <param name="bLevel">BLevel</param>
        /// <param name="bVol">BVol</param>
        /// <param name="gPNum">GPNum</param>
        /// <param name="bDNum">BDNum</param>
        /// <param name="temperature">Temperature</param>
        /// <param name="reason">reason</param>
        /// <param name="landmark">landmark</param>
        public gpshis_210620Mod(int iD,string deviceNo,decimal? orient,decimal? speed,DateTime? upTime,DateTime? createTime,decimal? rLongiW,decimal? rLatiW,decimal? rLongiC,decimal? rLatiC,decimal? rLongiB,decimal? rLatiB,int? alarmFlag,bool? aCCState,bool? gPSState,decimal? mileAge,decimal? totalMileAge,int? switchFlag,string locMode,int? bLevel,int? bVol,int? gPNum,int? bDNum,int? temperature,int? reason,string landmark)
        {
            //给ID字段赋值
            this.ID = iD;
            //给DeviceNo字段赋值
            this.DeviceNo = deviceNo;
            //给Orient字段赋值
            this.Orient = orient;
            //给Speed字段赋值
            this.Speed = speed;
            //给UpTime字段赋值
            this.UpTime = upTime;
            //给CreateTime字段赋值
            this.CreateTime = createTime;
            //给RLongiW字段赋值
            this.RLongiW = rLongiW;
            //给RLatiW字段赋值
            this.RLatiW = rLatiW;
            //给RLongiC字段赋值
            this.RLongiC = rLongiC;
            //给RLatiC字段赋值
            this.RLatiC = rLatiC;
            //给RLongiB字段赋值
            this.RLongiB = rLongiB;
            //给RLatiB字段赋值
            this.RLatiB = rLatiB;
            //给AlarmFlag字段赋值
            this.AlarmFlag = alarmFlag;
            //给ACCState字段赋值
            this.ACCState = aCCState;
            //给GPSState字段赋值
            this.GPSState = gPSState;
            //给MileAge字段赋值
            this.MileAge = mileAge;
            //给TotalMileAge字段赋值
            this.TotalMileAge = totalMileAge;
            //给SwitchFlag字段赋值
            this.SwitchFlag = switchFlag;
            //给LocMode字段赋值
            this.LocMode = locMode;
            //给BLevel字段赋值
            this.BLevel = bLevel;
            //给BVol字段赋值
            this.BVol = bVol;
            //给GPNum字段赋值
            this.GPNum = gPNum;
            //给BDNum字段赋值
            this.BDNum = bDNum;
            //给Temperature字段赋值
            this.Temperature = temperature;
            //给reason字段赋值
            this.Reason = reason;
            //给landmark字段赋值
            this.Landmark = landmark;
        }
        
		//属性存储数据的变量
        private int _iD;
        private string _deviceNo;
        private decimal? _orient;
        private decimal? _speed;
        private DateTime? _upTime;
        private DateTime? _createTime;
        private decimal? _rLongiW;
        private decimal? _rLatiW;
        private decimal? _rLongiC;
        private decimal? _rLatiC;
        private decimal? _rLongiB;
        private decimal? _rLatiB;
        private int? _alarmFlag;
        private bool? _aCCState;
        private bool? _gPSState;
        private decimal? _mileAge;
        private decimal? _totalMileAge;
        private int? _switchFlag;
        private string _locMode;
        private int? _bLevel;
        private int? _bVol;
        private int? _gPNum;
        private int? _bDNum;
        private int? _temperature;
        private int? _reason;
        private string _landmark;
        
        /// <summary>
        /// ID
        /// </summary>
        public int ID
        {
            get { return this._iD; }
            set { this._iD = value; }
        }
        /// <summary>
        /// DeviceNo
        /// </summary>
        public string DeviceNo
        {
            get { return this._deviceNo; }
            set { this._deviceNo = value; }
        }
        /// <summary>
        /// Orient
        /// </summary>
        public decimal? Orient
        {
            get { return this._orient; }
            set { this._orient = value; }
        }
        /// <summary>
        /// Speed
        /// </summary>
        public decimal? Speed
        {
            get { return this._speed; }
            set { this._speed = value; }
        }
        /// <summary>
        /// UpTime
        /// </summary>
        public DateTime? UpTime
        {
            get { return this._upTime; }
            set { this._upTime = value; }
        }
        /// <summary>
        /// CreateTime
        /// </summary>
        public DateTime? CreateTime
        {
            get { return this._createTime; }
            set { this._createTime = value; }
        }
        /// <summary>
        /// RLongiW
        /// </summary>
        public decimal? RLongiW
        {
            get { return this._rLongiW; }
            set { this._rLongiW = value; }
        }
        /// <summary>
        /// RLatiW
        /// </summary>
        public decimal? RLatiW
        {
            get { return this._rLatiW; }
            set { this._rLatiW = value; }
        }
        /// <summary>
        /// RLongiC
        /// </summary>
        public decimal? RLongiC
        {
            get { return this._rLongiC; }
            set { this._rLongiC = value; }
        }
        /// <summary>
        /// RLatiC
        /// </summary>
        public decimal? RLatiC
        {
            get { return this._rLatiC; }
            set { this._rLatiC = value; }
        }
        /// <summary>
        /// RLongiB
        /// </summary>
        public decimal? RLongiB
        {
            get { return this._rLongiB; }
            set { this._rLongiB = value; }
        }
        /// <summary>
        /// RLatiB
        /// </summary>
        public decimal? RLatiB
        {
            get { return this._rLatiB; }
            set { this._rLatiB = value; }
        }
        /// <summary>
        /// AlarmFlag
        /// </summary>
        public int? AlarmFlag
        {
            get { return this._alarmFlag; }
            set { this._alarmFlag = value; }
        }
        /// <summary>
        /// ACCState
        /// </summary>
        public bool? ACCState
        {
            get { return this._aCCState; }
            set { this._aCCState = value; }
        }
        /// <summary>
        /// GPSState
        /// </summary>
        public bool? GPSState
        {
            get { return this._gPSState; }
            set { this._gPSState = value; }
        }
        /// <summary>
        /// MileAge
        /// </summary>
        public decimal? MileAge
        {
            get { return this._mileAge; }
            set { this._mileAge = value; }
        }
        /// <summary>
        /// TotalMileAge
        /// </summary>
        public decimal? TotalMileAge
        {
            get { return this._totalMileAge; }
            set { this._totalMileAge = value; }
        }
        /// <summary>
        /// SwitchFlag
        /// </summary>
        public int? SwitchFlag
        {
            get { return this._switchFlag; }
            set { this._switchFlag = value; }
        }
        /// <summary>
        /// LocMode
        /// </summary>
        public string LocMode
        {
            get { return this._locMode; }
            set { this._locMode = value; }
        }
        /// <summary>
        /// BLevel
        /// </summary>
        public int? BLevel
        {
            get { return this._bLevel; }
            set { this._bLevel = value; }
        }
        /// <summary>
        /// BVol
        /// </summary>
        public int? BVol
        {
            get { return this._bVol; }
            set { this._bVol = value; }
        }
        /// <summary>
        /// GPNum
        /// </summary>
        public int? GPNum
        {
            get { return this._gPNum; }
            set { this._gPNum = value; }
        }
        /// <summary>
        /// BDNum
        /// </summary>
        public int? BDNum
        {
            get { return this._bDNum; }
            set { this._bDNum = value; }
        }
        /// <summary>
        /// Temperature
        /// </summary>
        public int? Temperature
        {
            get { return this._temperature; }
            set { this._temperature = value; }
        }
        /// <summary>
        /// reason
        /// </summary>
        public int? Reason
        {
            get { return this._reason; }
            set { this._reason = value; }
        }
        /// <summary>
        /// landmark
        /// </summary>
        public string Landmark
        {
            get { return this._landmark; }
            set { this._landmark = value; }
        }
        
        /// <summary>
        /// 对比两个gpshis_210620数据模型对象是否一致
        /// </summary>
        /// <param name="obj">要进行比对的gpshis_210620数据模型对象</param>
        /// <returns>返回是否一致，为true一致，为false不一致</returns>
        public override bool Equals(object obj)
        {
            //判断传入对象是否为null
            if (obj == null) return false;
            //将传入对象转换成gpshis_210620数据模型对象
            gpshis_210620Mod gpshis_210620Mod = obj as gpshis_210620Mod;
            //判断是否转换成功
            if (gpshis_210620Mod == null) return false;
            //进行匹配属性的值
            return
                //判断ID是否一致
                this.ID == gpshis_210620Mod.ID &&
                //判断DeviceNo是否一致
                this.DeviceNo == gpshis_210620Mod.DeviceNo &&
                //判断Orient是否一致
                this.Orient == gpshis_210620Mod.Orient &&
                //判断Speed是否一致
                this.Speed == gpshis_210620Mod.Speed &&
                //判断UpTime是否一致
                this.UpTime == gpshis_210620Mod.UpTime &&
                //判断CreateTime是否一致
                this.CreateTime == gpshis_210620Mod.CreateTime &&
                //判断RLongiW是否一致
                this.RLongiW == gpshis_210620Mod.RLongiW &&
                //判断RLatiW是否一致
                this.RLatiW == gpshis_210620Mod.RLatiW &&
                //判断RLongiC是否一致
                this.RLongiC == gpshis_210620Mod.RLongiC &&
                //判断RLatiC是否一致
                this.RLatiC == gpshis_210620Mod.RLatiC &&
                //判断RLongiB是否一致
                this.RLongiB == gpshis_210620Mod.RLongiB &&
                //判断RLatiB是否一致
                this.RLatiB == gpshis_210620Mod.RLatiB &&
                //判断AlarmFlag是否一致
                this.AlarmFlag == gpshis_210620Mod.AlarmFlag &&
                //判断ACCState是否一致
                this.ACCState == gpshis_210620Mod.ACCState &&
                //判断GPSState是否一致
                this.GPSState == gpshis_210620Mod.GPSState &&
                //判断MileAge是否一致
                this.MileAge == gpshis_210620Mod.MileAge &&
                //判断TotalMileAge是否一致
                this.TotalMileAge == gpshis_210620Mod.TotalMileAge &&
                //判断SwitchFlag是否一致
                this.SwitchFlag == gpshis_210620Mod.SwitchFlag &&
                //判断LocMode是否一致
                this.LocMode == gpshis_210620Mod.LocMode &&
                //判断BLevel是否一致
                this.BLevel == gpshis_210620Mod.BLevel &&
                //判断BVol是否一致
                this.BVol == gpshis_210620Mod.BVol &&
                //判断GPNum是否一致
                this.GPNum == gpshis_210620Mod.GPNum &&
                //判断BDNum是否一致
                this.BDNum == gpshis_210620Mod.BDNum &&
                //判断Temperature是否一致
                this.Temperature == gpshis_210620Mod.Temperature &&
                //判断reason是否一致
                this.Reason == gpshis_210620Mod.Reason &&
                //判断landmark是否一致
                this.Landmark == gpshis_210620Mod.Landmark;
        }
        /// <summary>
        /// 将当前gpshis_210620数据模型对象转换成哈希码
        /// </summary>
        /// <returns>哈希值</returns>
        public override int GetHashCode()
        {
            //将gpshis_210620数据模型对象的属性进行按位异或运算处理得到哈希码并返回
            return
                //将ID进行按位异或运算处理
                this.ID.GetHashCode() ^
                //将DeviceNo进行按位异或运算处理
                (this.DeviceNo == null ? 2147483647 : this.DeviceNo.GetHashCode()) ^
                //将Orient进行按位异或运算处理
                (this.Orient == null ? 2147483647 : this.Orient.GetHashCode()) ^
                //将Speed进行按位异或运算处理
                (this.Speed == null ? 2147483647 : this.Speed.GetHashCode()) ^
                //将UpTime进行按位异或运算处理
                (this.UpTime == null ? 2147483647 : this.UpTime.GetHashCode()) ^
                //将CreateTime进行按位异或运算处理
                (this.CreateTime == null ? 2147483647 : this.CreateTime.GetHashCode()) ^
                //将RLongiW进行按位异或运算处理
                (this.RLongiW == null ? 2147483647 : this.RLongiW.GetHashCode()) ^
                //将RLatiW进行按位异或运算处理
                (this.RLatiW == null ? 2147483647 : this.RLatiW.GetHashCode()) ^
                //将RLongiC进行按位异或运算处理
                (this.RLongiC == null ? 2147483647 : this.RLongiC.GetHashCode()) ^
                //将RLatiC进行按位异或运算处理
                (this.RLatiC == null ? 2147483647 : this.RLatiC.GetHashCode()) ^
                //将RLongiB进行按位异或运算处理
                (this.RLongiB == null ? 2147483647 : this.RLongiB.GetHashCode()) ^
                //将RLatiB进行按位异或运算处理
                (this.RLatiB == null ? 2147483647 : this.RLatiB.GetHashCode()) ^
                //将AlarmFlag进行按位异或运算处理
                (this.AlarmFlag == null ? 2147483647 : this.AlarmFlag.GetHashCode()) ^
                //将ACCState进行按位异或运算处理
                (this.ACCState == null ? 2147483647 : this.ACCState.GetHashCode()) ^
                //将GPSState进行按位异或运算处理
                (this.GPSState == null ? 2147483647 : this.GPSState.GetHashCode()) ^
                //将MileAge进行按位异或运算处理
                (this.MileAge == null ? 2147483647 : this.MileAge.GetHashCode()) ^
                //将TotalMileAge进行按位异或运算处理
                (this.TotalMileAge == null ? 2147483647 : this.TotalMileAge.GetHashCode()) ^
                //将SwitchFlag进行按位异或运算处理
                (this.SwitchFlag == null ? 2147483647 : this.SwitchFlag.GetHashCode()) ^
                //将LocMode进行按位异或运算处理
                (this.LocMode == null ? 2147483647 : this.LocMode.GetHashCode()) ^
                //将BLevel进行按位异或运算处理
                (this.BLevel == null ? 2147483647 : this.BLevel.GetHashCode()) ^
                //将BVol进行按位异或运算处理
                (this.BVol == null ? 2147483647 : this.BVol.GetHashCode()) ^
                //将GPNum进行按位异或运算处理
                (this.GPNum == null ? 2147483647 : this.GPNum.GetHashCode()) ^
                //将BDNum进行按位异或运算处理
                (this.BDNum == null ? 2147483647 : this.BDNum.GetHashCode()) ^
                //将Temperature进行按位异或运算处理
                (this.Temperature == null ? 2147483647 : this.Temperature.GetHashCode()) ^
                //将reason进行按位异或运算处理
                (this.Reason == null ? 2147483647 : this.Reason.GetHashCode()) ^
                //将landmark进行按位异或运算处理
                (this.Landmark == null ? 2147483647 : this.Landmark.GetHashCode());
        }
        /// <summary>
        /// 将当前gpshis_210620数据模型对象转换成字符串副本【仅显示在SQL中不能为空的列】
        /// </summary>
        /// <returns>字符串形式副本</returns>
        public override string ToString()
        {
            //将当前gpshis_210620数据模型对象转换成字符串副本
            return
                "[" +
                //将ID转换成字符串
                this.ID + "," +
                //将DeviceNo转换成字符串
                this.DeviceNo +
                "]";
        }
    }
}
